Overview
Skin Cancer Classifier
University Project
Developed a top-down broad search for optimal ML methods of classifying the HAM10000 skin cancer dataset. Worked in team to approach this task from supervised and unsupervised ML points of view.
Timeframe
Jan - July 2023
Tech Stack
Python · Pytorch · CUDA
Domain
Image Classification Research
Outcome
Super-Human Skin Cancer Classifier
Contents
01
Overview
03
What I Learned
04
Gallery
Built With
Python
Pytorch
ML
Computer Vision
01
Overview
I worked together in a team with my coursemates to exploratively research how different types of ML methods worked on multi-class Skin Cancer image classification. We decided as a group to approach the classification task in a multi-pronged fashion. We split up in to sub-groups to focus on Supervised ML, Unsupervised ML, and Synthetic Data Generation. My task was to explore the realm of unsupervised image classification.
I dove into the research to try and find past examples of efficient unsupervised image classification and the architecture that stood out to me was SimCLR by Google Research. SimCLR as an unsupervised approach has two stages: training a CNN on the unlabeled data to create latent output data, and then for an MLP to train on the latent output data to see if it can learn any specific patterns.
After optimising the hyper-parameters for both models, I then applied the same process to the dataset which had been supplemented with synthetic data produced by another sub-group in my team, this high-quality data-balancing allowed for a major 10% increase in test prediction accuracy.
03
What I learned
"Garbage in, garbage out" is rule to live by when undertaking ML tasks. Thankfully methods such as data transformation, synthetic data, outlier removal, any many others can vastly increase the generalisability of the models you wish to train if done right
04
Gallery

